package com.ruoyi.business.domain.wecom;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.ruoyi.common.core.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.math.BigDecimal;

/**
 * <p>
 * 企业微信会话存档表
 * </p>
 *
 * @author
 * @since 2023-XX-XX
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("tb_wecom_msg_archive")
public class TbWecomMsgArchive extends BaseEntity {

    private static final long serialVersionUID = 1L;

    /**
     * 会话存档主键id
     */
    @TableId(value = "id", type = IdType.ASSIGN_ID)
    private Long id;

    /**
     * 企微seq
     */
    private Long seq;

    /**
     * 消息id
     */
    private String msgid;


    /**
     * 消息动作，目前有send(发送消息)/recall(撤回消息)/switch(切换企业日志)三种类型。String类型
     */
    private String action;


    /**
     * 聊天类型，1单聊 2群聊
     */
    private Integer chatType;

    /**
     * 消息发送方id。同一企业内容为userid，非相同企业为external_userid。消息如果是机器人发出，也为external_userid
     */
    private String fromUserId;

    /**
     * 发送发用户类型
     */
    private Integer fromUserType;

    /**
     * 发送发送方名称
     */
    private String fromUserName;

    /**
     * 消息发送方id。同一企业内容为userid，非相同企业为external_userid。消息如果是机器人发出，也为external_userid
     */
    private String fromUserAvatar;


    /**
     * 消息发送方id。同一企业内容为userid，非相同企业为external_userid。消息如果是机器人发出，也为external_userid
     */
    private String toUserId;

    /**
     * 接收方发用户类型
     */
    private Integer toUserType;


    /**
     * 发送发送方名称
     */
    private String toUserName;


    /**
     * 消息发送方id。同一企业内容为userid，非相同企业为external_userid。消息如果是机器人发出，也为external_userid
     */
    private String toUserAvatar;

    /**
     * 群聊消息的群id。如果是单聊则为空
     */
    private String roomid;

    /**
     * 群聊名称
     */
    private String roomName;

    /**
     * 群聊群主id
     */
    private String roomOwnerId;

    /**
     * 群聊群主名称
     */
    private String roomOwnerName;


    /**
     * 消息发送时间戳，utc时间，ms单位
     */
    private Long msgtime;

    /**
     * 消息类型
     */
    private String msgtype;

    /**
     * 撤回的原消息id
     */
    private String preMsgId;

    /**
     * 消息内容
     */
    private String textContent;


    /**
     * 图片资源的文件大小
     */
    private Long filesize;

    /**
     * 文件名称
     */
    private String filename;

    /**
     * 文件拓展名
     */
    private String fileext;

    /**
     * 表情类型，png或者gif.1表示gif 2表示png
     */
    private Integer emotionType;

    /**
     * 表情图片宽度
     */
    private Integer emotionWidth;

    /**
     * 表情图片高度
     */
    private Integer emotionHeight;

    /**
     * 语音播放长度
     */
    private Long playLength;

    /**
     * 消息标题
     */
    private String title;

    /**
     * 消息描述
     */
    private String description;

    /**
     * 链接url地址
     */
    private String linkUrl;

    /**
     * 链接图片url
     */
    private String imageUrl;


    /**
     * 链接url地址
     */
    private String userName;

    /**
     * 小程序名称
     */
    private String displayName;

    /**
     * 名片所有者所在的公司名称
     */
    private String cardCorpName;

    /**
     * 名片所有者的id，同一公司是userid，不同公司是external_userid
     */
    private String cardUserId;

    /**
     * 图文消息的内容
     */
    private String newsInfo;

    /**
     * 混合消息
     */
    private String mixedInfo;

    /**
     * 经度
     */
    private BigDecimal longitude;

    /**
     * 纬度
     */
    private BigDecimal latitude;

    /**
     * 地址
     */
    private String address;

    /**
     * 缩放比例
     */
    private Integer zoom;


    /**
     * 整体消息
     */
    private String ossUrl;


}
